/*----------------------------------------------------------\\
|| Mancala                                                  ||
|| CS-340 with Professor Troy                               ||
|| Joshua Jung and Eugene Magdel                            ||
|| April 29, 2011                                           ||
\\----------------------------------------------------------*/
#include <iostream>
#include <list>
#include <string>

#ifndef CUP_H
#define CUP_H
#include "gem.h"

using namespace std;

class Board;

class Cup{
  private:
    
    int current_index;
    int owner;
    Cup* next;
  public:
    Gem *gem;
    Gem * last_gem;
    Cup(int,int);
    static Cup& cup_at(int);
    int get_index();
    int get_owner();
    Cup* get_next();
    void set_next(Cup*);
    int gem_count();
    static Cup& get_mancala_for(int);
    Cup & get_across();
    bool is_mancala();
    static Cup * current;
    void add_gems(Cup&);
    bool empty();
    void add_gem(Cup&);
    Gem *getGemAt(int index);
    string gem_images();

    friend class Board;
};

#endif
